using 高校员工餐饮信息管理系统.Models;

namespace 高校员工餐饮信息管理系统.Services
{
    /// <summary>
    /// 商户服务接口
    /// </summary>
    public interface IMerchantService
    {
        /// <summary>
        /// 获取商户信息
        /// </summary>
        /// <param name="merchantId">商户ID</param>
        /// <returns>商户信息</returns>
        Task<Merchant?> GetMerchantByIdAsync(int merchantId);
        
        /// <summary>
        /// 获取所有商户
        /// </summary>
        /// <returns>商户列表</returns>
        Task<List<Merchant>> GetAllMerchantsAsync();
        
        /// <summary>
        /// 查询商户订单
        /// </summary>
        /// <param name="merchantId">商户ID</param>
        /// <param name="startDate">开始日期</param>
        /// <param name="endDate">结束日期</param>
        /// <returns>订单列表</returns>
        Task<List<Order>> GetMerchantOrdersAsync(int merchantId, DateTime startDate, DateTime endDate);
        
        /// <summary>
        /// 导出商户结算数据
        /// </summary>
        /// <param name="merchantId">商户ID</param>
        /// <param name="startDate">开始日期</param>
        /// <param name="endDate">结束日期</param>
        /// <returns>Excel文件字节数组</returns>
        Task<byte[]> ExportMerchantSettlementDataAsync(int merchantId, DateTime startDate, DateTime endDate);
    }
}

